# 数据分析题目解答(建议先赞后看，养成习惯 如果不赞，先拉出去枪毙两分钟 作者：小匠IT)
import matplotlib.pyplot as plt
import pandas as pd
from matplotlib.font_manager import FontProperties
import os

# 创建数据集
data = {
    '年份': [2014, 2015, 2016, 2017, 2018],
    '融资数量': [23, 76, 59, 38, 34],
    '融资金额（亿元）': [14.9, 40.1, 81.8, 54.6, 57.7]
}

df = pd.DataFrame(data)

# 设置中文字体
font_path = 'fonts/SIMSUN.TTC'
font = FontProperties(fname=font_path, size=12)
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号

# 创建图形和主次坐标轴
fig, ax1 = plt.subplots(figsize=(10, 6))

color = 'tab:blue'
ax1.set_xlabel('年份', fontproperties=font)
ax1.set_ylabel('融资数量', color=color, fontproperties=font)
ax1.bar(df['年份'], df['融资数量'], color=color, label='融资数量')
ax1.tick_params(axis='y', labelcolor=color)

# 创建次坐标轴
ax2 = ax1.twinx()  

color = 'tab:red'
ax2.set_ylabel('融资金额（亿元）', color=color, fontproperties=font)  
ax2.plot(df['年份'], df['融资金额（亿元）'], color=color, marker='o', linestyle='-', linewidth=2, label='融资金额')
ax2.tick_params(axis='y', labelcolor=color)

# 设置图表标题
plt.title('2014-2018年中国生鲜电商市场融资情况', fontproperties=font)

# 添加图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper left', prop=font)

# 显示网格
ax1.grid(True)

# 确保输出目录存在
output_dir = 'output/49'
os.makedirs(output_dir, exist_ok=True)

# 定义输出文件路径
output_path = os.path.join(output_dir, '1.png')

# 保存图表
plt.savefig(output_path)

# 显示图表
plt.show()